Economic Value Added


Kerry Back

BUSI 721, Fall 2022
JGSB, Rice University

Return on invested capital (ROIC)

  • Equals income divided by lagged invested capital
  • Also called return on capital employed (ROCE)
  • Some different versions
    • Adjust income for interest tax shield
    • Use average of lagged and current IC instead of lagged

Example

Year 0 1 2 3 4
Invested capital 100 70 50 35 0
Income 0 20 30 20 5
ROIC 0.2 0.428 0.4 0.143

Economic value added

  • EVA = income minus a charge for capital
  • Charge for capital = required return times lagged invested capital
  • Equivalently, EVA equals

\[(\text{ROIC} - \text{required return}) \times \text{lagged IC}\]

Example (method 1)

cost of capital = 10%


Year 0 1 2 3 4
Invested capital 100 70 50 35 0
Income 0 20 30 20 5
Charge for capital 0 10 7 5 3.5
EVA 0 10 23 15 1.5

Example (method 2)

Year 0 1 2 3 4
Invested capital 100 70 50 35 0
Income 0 20 30 20 5
ROIC 0.2 0.428 0.4 0.143
Extra return 0.1 0.328 0.3 0.043
Lagged IC 100 70 50 35
EVA 10 23 15 1.5

Example in code

import numpy as np
import pandas as pd

IC = pd.Series((100, 70, 50, 35, 0))
Income = pd.Series((0, 20, 30, 20, 5))
df = pd.concat((IC, Income), axis=1)
df.columns = ["IC", "Income"]
df.index.name = "Year"

df.T
Year 0 1 2 3 4
IC 100 70 50 35 0
Income 0 20 30 20 5

cost_capital = 0.1

df["Capital charge"] = cost_capital * df.IC.shift()
df["EVA"] = df.Income - df["Capital charge"]

df[["IC", "Income", "Capital charge", "EVA"]].T
Year 0 1 2 3 4
IC 100.0 70.0 50.0 35.0 0.0
Income 0.0 20.0 30.0 20.0 5.0
Capital charge NaN 10.0 7.0 5.0 3.5
EVA NaN 10.0 23.0 15.0 1.5

Discounted EVA

df["PV factor"] = 1 / (1+cost_capital)**df.index
df["PV of EVA"] = df["EVA"] * df["PV factor"]
df["NPV"] = np.nan
df["NPV"].iloc[0] = df["PV of EVA"].sum()

df[["EVA", "PV factor", "PV of EVA", "NPV"]].T.round(2)
Year 0 1 2 3 4
EVA NaN 10.00 23.00 15.00 1.50
PV factor 1.00 0.91 0.83 0.75 0.68
PV of EVA NaN 9.09 19.01 11.27 1.02
NPV 40.39 NaN NaN NaN NaN


Discounted EVA equals NPV